//
//  ViewController.m
//  NSString
//
//  Created by apple on 15/9/9.
//  Copyright (c) 2015年 戴维营. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    
    //NSString 是一个不可变的数据类型，对象创建以后，内容是不能更改的，实现了NSCoding和NSCopying协议，它还有一个可变的子类－－－》NSMutableString;

#if 0
    //unicode字符数组
    
    const unichar cstr[] = {L'维', L'尼',L'后',L'天',L'间'};
    
    NSString *str = [NSString stringWithCharacters:cstr length:5];
    
    NSLog(@"%@",str);
    
#endif
    
#if 0
    
    //UTF-8编码的C语言字符串
    
    const char *cstr = "后天";
    
    NSString *str = [NSString stringWithUTF8String:cstr];
    
    NSLog(@"%@",str);
    
    
#endif
    
#if 0
    
    //指定编码格式的C语言字符串
    
    const char *cstr = "后天";
    
    NSString *str = [NSString stringWithCString:cstr encoding:NSUTF8StringEncoding];
    
    NSLog(@"%@",str);
    
#endif
    
#if 0
    
    //oc字符串转换成C语言字符串
    
    NSString *str = @"houtian";
    
    const char *cstr = [str cStringUsingEncoding:NSUTF8StringEncoding];
    
    NSLog(@"%s",cstr);
    
#endif
    
#if 0

    //NSString字符串可以直接写入文件和从文件中读取内容，文件位置可以用路径（path）或URL表示；
    
    //读出内容
    NSError *error = noErr;
    
    NSString *str = [NSString stringWithContentsOfFile:@"/Users/apple/Desktop/1.txt" encoding:NSUTF8StringEncoding error:&error];
    
    if (error)
    {
        NSLog(@"%@",error);
    }
    else
    {
        NSLog(@"%@",str);
    }
    
#endif
    
#if 0
    
    //写入文件
    
    NSError *error = noErr;
    
    NSString *str = @"今天是星期三";
    
    [str writeToFile:@"/Users/apple/Desktop/123.text" atomically:YES encoding:NSUTF8StringEncoding error:&error];
    
    if (error)
    {
        NSLog(@"%@",error);
    }
    else
    {
        NSLog(@"搞定！");
    }
    
#endif
    
#if 0
//     NSString提供了一些简便的属性处理大小写转换等功能
    
    NSString *str = @"Hello world! I'm in China!";
    
    //小写
    NSString *str1 = str.lowercaseString;
    
    NSLog(@"%@",str1);
    
    //大写
    NSLog(@"%@",str.uppercaseString);
    
    //首字母大写
    NSLog(@"%@",str.capitalizedString);
    
#endif
    
#if 0
    
    //分析一个字符串的特征
    
    NSString *str = @"张三丰";
    
    //判断前缀
    
    if ([str hasPrefix:@"张"])
    {
        NSLog(@"是姓张");
    }
    
    NSLog(@"-----------------");
    
    
    //判断后缀
    if ([str hasSuffix:@"丰"])
    {
        NSLog(@"可以判断域名之类的");
    }
    
#endif
    
//    字符串可以按不同的方式进行比较，比如字符编码大小，大小写敏感或不敏感等
    
//    －－－》NSCaseInsensitiveSearch     ---不区分大小写
    
//    NSLiteralSearch    --->区分大小写
    
//    NSNumericSearch    --->其他部分相同时，根据数字确定大小
    
    
#if 0
    
//    从一个长的字符串中获取一部分信息
    
    NSString *str = @"www.baidu.com";
    
//    从第四个开始获取后面的
    NSLog(@"%@",[str substringFromIndex:4]);
    
//    获取前面的三个
    NSLog(@"%@",[str substringToIndex:3]);
    
//    从第四个开始，获取后面的三个
    NSLog(@"%@",[str substringWithRange:NSMakeRange(4, 3)]);
    
#endif
    
#if 0
    
//    字符串的查找
    
    NSString *str = @"www.baidu.com";
    
    NSRange range = [str rangeOfString:@"baidu"];
    
    if (range.location == NSNotFound)
    {
        NSLog(@"没有这个字符串");
    }
    else
    {
        NSLog(@"%@",NSStringFromRange(range));
    }
    
    //指定搜索范围查找

    
#endif
    
#if 0
    
//    字符串的替换
    
    NSString *str = @"www.baidu.com";
    
    NSString *str1 = [str stringByReplacingOccurrencesOfString:@"www" withString:@"cao"];
    
    NSLog(@"%@",str1);
    
#endif
    
#if 1
    
//    字符串首尾的特殊字符要删除（空格）
    
    NSString *str = @"    www.baidu.com   ";
    
    NSCharacterSet *set = [NSCharacterSet whitespaceCharacterSet];
    
    NSString *str1 = [str stringByTrimmingCharactersInSet:set];
    
    NSLog(@"%@",str1);
    
#endif
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
